import { HTTP_REQUEST_URL, CACHE_USERINFO, CACHE_TOKEN, CACHE_EXPIRES_TIME } from './config.js';


// app.js
App({
    globalData: {
        navHeight: 0,
        routineStyle: '#ffffff',
        openPages: '',
        spid: 0,
        code: 0,
        urlImages: '',
        url: HTTP_REQUEST_URL,
        token: '',
        isLog: false,
        expiresTime: 0,
        MyMenus: [],
        userInfo: {},
        loginType: 'routine'
    },
    onLaunch (option) {
        if (HTTP_REQUEST_URL == '') {
            console.error("请配置根目录下的config.js文件中的 'HTTP_REQUEST_URL'\n\n请修改开发者工具中【详情】->【AppID】改为自己的Appid\n\n请前往后台【小程序】->【小程序配置】填写自己的 appId and AppSecret");
            return false;
        }
        let that = this;
        // 展示本地存储能力
        let token = wx.getStorageSync(CACHE_TOKEN);
        let expiresTime = wx.getStorageSync(CACHE_EXPIRES_TIME);
        let userInfo = wx.getStorageSync(CACHE_USERINFO);
        console.log(this.globalData);
        this.globalData.isLog = !!userInfo && util.checkLogin(token, expiresTime, true);
        if (this.globalData.isLog) {
            this.globalData.token = token;
            this.globalData.expiresTime = expiresTime;
            this.globalData.userInfo = userInfo ? JSON.parse(userInfo) : {};
        }

        if (option.query.hasOwnProperty('scene')) {
            switch (option.scene) {
                //扫描小程序码
                case 1047:
                    that.globalData.code = option.query.scene;
                    break;
                //长按图片识别小程序码
                case 1048:
                    that.globalData.code = option.query.scene;
                    break;
                //手机相册选取小程序码
                case 1049:
                    that.globalData.code = option.query.scene;
                    break;
                //直接进入小程序
                case 1001:
                    that.globalData.spid = option.query.scene;
                    break;
            }
        }

        // 获取导航高度；
        wx.getSystemInfo({
            success: res => {
                //导航高度
                this.globalData.navHeight = res.statusBarHeight * (750 / res.windowWidth) + 97;
            }, fail (err) { }
        });

        const updateManager = wx.getUpdateManager();
        updateManager.onUpdateReady(function () {
            wx.showModal({
                title: '更新提示',
                content: '新版本已经准备好，是否重启应用？',
                success: function (res) {
                    if (res.confirm) {
                        // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
                        updateManager.applyUpdate()
                    }
                }
            })
        });

        updateManager.onUpdateFailed(function () {
            return that.Tips({ title: '新版本下载失败' });
        })
    },

    /*
    * 信息提示 + 跳转
    * @param object opt {title:'提示语',icon:''} | url
    * @param object to_url 跳转url 有5种跳转方式 {tab:1-5,url:跳转地址}
    */
    Tips: function (opt, to_url) {
        return util.Tips(opt, to_url);
    },

    /**
     * 快捷调取助手函数
    */
    help: function () {
        return util.$h;
    },

    /*
    * 合并数组
    * @param array list 请求返回数据
    * @param array sp 原始数组
    * @return array
    */
    SplitArray: function (list, sp) { return util.SplitArray(list, sp) },
})
